#ifndef ADDFRIENDPAGE_H
#define ADDFRIENDPAGE_H

#include <QWidget>
#include <QLineEdit>
#include <QPushButton>

namespace Ui {
class AddFriendPage;
}

/**
 * @brief 添加好友页面类，处理添加好友功能
 */
class AddFriendPage : public QWidget
{
    Q_OBJECT

public:
    /**
     * @brief 构造函数，初始化添加好友页面
     * @param parent 父窗口指针
     */
    explicit AddFriendPage(QWidget *parent = nullptr);

    /**
     * @brief 析构函数，释放资源
     */
    ~AddFriendPage();

signals:
    /**
     * @brief 返回好友列表页面信号
     */
    void backToFriendList();

    /**
     * @brief 发送好友申请信号
     * @param friendId 目标好友ID
     */
    void sendFriendRequest(const QString &friendId);

private slots:
    /**
     * @brief 搜索按钮点击事件处理
     */
    void onSearchClicked();

    /**
     * @brief 返回按钮点击事件处理
     */
    void onBackClicked();

private:
    Ui::AddFriendPage *ui;            ///< UI对象指针
    QLineEdit *m_friendIdEdit;        ///< 好友ID输入框
    QPushButton *m_searchBtn;         ///< 搜索按钮
    QPushButton *m_backBtn;           ///< 返回按钮

    /**
     * @brief 初始化UI组件
     */
    void initUI();

    /**
     * @brief 验证输入的好友ID
     * @return 验证通过返回true，否则返回false
     */
    bool validateInput();
};

#endif // ADDFRIENDPAGE_H

